A data flow graph is a graphical representation of the flow of data through a system. Data flow graphs are used to illustrate data flow schemes, which allow for systems to identify parallelism in computations. In particular, data flow schemes can determine an order to perform computer processes based on a configuration of a data flow graph. Rather than representing computer processes as a sequence of instructions, data flow graphs can represent computer processes as nodes that are connected to each other by edges based on their data dependencies.
Conventionally, a data flow graph can allow for parallelization where a user has declared no dependency. Declared dependencies can be received by a computer system as guidance to which computer processes depend on other computer processes. The computer system can determine, using the declared dependencies, that two or more nodes can run concurrently when the nodes are not connected to each other by an edge. In such an example, the computer system can then evaluate each node as a separate task. In some examples, a separate task can run on a separate thread. However, by limiting parallelization to declared dependencies, the computer system can only function as efficiently as the dependencies received. Thus, there is a need for greater parallelization to improve the speed of evaluations for data flow graphs.